package org.example.todolist.service;

import org.example.todolist.entity.TodoList;

import java.util.ArrayList;

/**
 * 列表服务接口
 */
public interface ListService {
    /**
     * 创建列表
     * @param list 列表对象
     * @return 创建成功返回列表对象，失败返回null
     */
    TodoList createList(TodoList list);

    /**
     * 根据ID查询列表
     * @param id 列表ID
     * @return 列表对象
     */
    TodoList getListById(Integer id);

    /**
     * 查询用户的所有列表
     * @param userId 用户ID
     * @return 列表集合
     */
    ArrayList<TodoList> getListsByUserId(Integer userId);

    /**
     * 更新列表
     * @param list 列表对象
     * @return 更新成功返回true，失败返回false
     */
    boolean updateList(TodoList list);

    /**
     * 删除列表
     * @param id 列表ID
     * @return 删除成功返回true，失败返回false
     */
    boolean deleteList(Integer id);

    /**
     * 检查列表是否属于指定用户
     * @param id 列表ID
     * @param userId 用户ID
     * @return 属于返回true，不属于返回false
     */
    boolean checkBelonging(Integer id, Integer userId);
}
